<script>on mouseupplay "click"put the selectedText of me into CardNameif there is not a card Cardname then exit mouseupif the optionKey is downthensend "ShowMe" && quote & CardName & quote to bg field "Recipe Names" of card CardName-- go card CardNameSelect Line (number of this card - 1) of meelseplay "Slide"set the scroll of bg field "Table of Contents" of card CardName to the scroll of mego to Card CardNameend ifend mouseupon mouseenterFullBalloons showDirect,"Click me view a category index. Option click me"¬&&"to get a floating window of the category index."end mouseenter</script>
</part>
<part>
<id>2</id>
<type>field</type>
<visible> <true /> </visible>
<dontWrap> <true /> </dontWrap>
<dontSearch> <true /> </dontSearch>
<sharedText> <false /> </sharedText>
<fixedLineHeight> <true /> </fixedLineHeight>
<autoTab> <false /> </autoTab>
<lockText> <true /> </lockText>
<rect>
<left>257</left>
<top>37</top>
<right>554</right>
<bottom>356</bottom>
</rect>
<style>scrolling</style>
<autoSelect> <true /> </autoSelect>
<showLines> <false /> </showLines>
<wideMargins> <true /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>left</textAlign>
<font>Helvetica</font>
<textSize>15</textSize>
<textStyle>bold</textStyle>
<textHeight>20</textHeight>
<name>Recipe Names</name>
<script>On MouseUpplay "click"if the optionKey is down then ShowMeelseset cursor to watchput the selectedText of me into CardNameglobal ColorONlock screenplay "Slide"if ColorOn = "True"thengo to Card CardNameAddColor colorCard,fromTop,10unlock screenelsego to Card CardNameunlock screen with visual dissolve very fastend ifend ifselect line 0 of meend Mouseupon ShowMe TheName,TheRectif TheName is empty then put (short name of this card) into TheNameif there is not a window TheNamethenset cursor to watchif TheRect is empty then put rect of me into TheRectput "Total Recipes" && (the number of lines in me) && "-- Click To View" into LittleSayingListoid TheName,me,TheRect,bigWindoidZoom,¬one,helvetica,12,LittleSaying,"DontAllowReorg",0else show window TheNameend ShowMeon updateMebeepanswer "Put a script here that will update the Listoid Window if it is already open. The simplist thing would to be it kill it and reopen it. During the update."end Updatemeon closeField -- this should never happenupdatemeend closefieldon mouseenterBalloonItend mouseenteron BalloonItif the mouseLoc is within the Rect of methenFullBalloons showDirect,"Click me view a recipe. Option click me"¬&&"to get a floating window of this category index."end ifend BalloonIt</script>
</part>
<part>
<id>4</id>
<type>field</type>
<visible> <true /> </visible>
<dontWrap> <false /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <true /> </sharedText>
<fixedLineHeight> <false /> </fixedLineHeight>
<autoTab> <false /> </autoTab>
<lockText> <false /> </lockText>
<rect>
<left>35</left>
<top>6</top>
<right>250</right>
<bottom>34</bottom>
</rect>
<style>transparent</style>
<autoSelect> <false /> </autoSelect>
<showLines> <false /> </showLines>
<wideMargins> <false /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>center</textAlign>
<font>Helvetica</font>
<textSize>26</textSize>
<textStyle>condense</textStyle>
<textStyle>bold</textStyle>
<textHeight>34</textHeight>
<name></name>
<script></script>
</part>
<part>
<id>5</id>
<type>field</type>
<visible> <true /> </visible>
<dontWrap> <false /> </dontWrap>
<dontSearch> <true /> </dontSearch>
<sharedText> <false /> </sharedText>
<fixedLineHeight> <false /> </fixedLineHeight>
<autoTab> <false /> </autoTab>
<lockText> <true /> </lockText>
<rect>
<left>258</left>
<top>6</top>
<right>554</right>
<bottom>33</bottom>
</rect>
<style>transparent</style>
<autoSelect> <false /> </autoSelect>
<showLines> <false /> </showLines>
<wideMargins> <false /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>center</textAlign>
<font>Helvetica</font>
<textSize>26</textSize>
<textStyle>condense</textStyle>
<textStyle>bold</textStyle>
<textHeight>34</textHeight>
<name>Index Name</name>
<script>on closefieldset the name of this card to meend closefield</script>
</part>
<part>
<id>6</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>616</left>
<top>14</top>
<right>638</right>
<bottom>142</bottom>
</rect>
<style>transparent</style>
<showName> <false /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name></name>
<script>on mouseUpput "This feature will be added in version 3.0. Right now you can use the Mini Cookbook "¬& "to plan your meals. 3.0 is planned for '96 & FREE to registered users." into TheMessageoops TheMessageend mouseUpon mouseenterFullBalloons showDirect,"This feature is not added yet, click me for more info."end mouseenter</script>
</part>
<part>
<id>8</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>585</left>
<top>2</top>
<right>612</right>
<bottom>37</bottom>
</rect>
<style>shadow</style>
<showName> <false /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>22717</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>next</name>
<script>on mouseDownplay "click"mouseStillDownend mouseDownon mouseStillDownwait until the sound is donenextcardend mouseStillDownon mouseenterFullBalloons showDirect,"Click me to go to the next category."end mouseenter</script>
</part>
<part>
<id>9</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>557</left>
<top>2</top>
<right>585</right>
<bottom>38</bottom>
</rect>
<style>shadow</style>
<showName> <false /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>22718</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>prev</name>
<script>on mouseDownplay "click"mouseStillDownend mouseDownon mouseStillDownwait until the sound is doneprevcardend mouseStillDownon mouseenterFullBalloons showDirect,"Click me to go to the next category."end mouseenter</script>
</part>
<part>
<id>10</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>570</left>
<top>99</top>
<right>605</right>
<bottom>152</bottom>
</rect>
<style>shadow</style>
<showName> <true /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>22264</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>Help</name>
<script>on mouseUpplay "click"helpMeend mouseUpon mouseenterFullBalloons showDirect,"Click me view and or print the instructions."end mouseenter</script>
</part>
<part>
<id>13</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>257</left>
<top>361</top>
<right>555</right>
<bottom>394</bottom>
</rect>
<style>shadow</style>
<showName> <true /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>Add New Recipe</name>
<script>on mouseUpplay "click"global Categoryask "New Recipe for the" && bg field "index name" && "Section:" & return¬&"What do you want to name this recipe?"if it = "" then exit mouseupif length of it > 33 then put char 1 to 33 of it into TempNameelse put it into TempName -- card names cannot be over 33 char and still-- work with an index field properlyAddNew TempNameend mouseupon mouseenterFullBalloons showDirect,"Click me to add a new recipe to this category."¬&&"(" & bg field "index name" & ")"end mouseenter</script>
</part>
<part>
<id>16</id>
<type>button</type>
<visible> <false /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>457</left>
<top>166</top>
<right>485</right>
<bottom>213</bottom>
</rect>
<style>shadow</style>
<showName> <true /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>28184</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>Edit</name>
<script>on mouseUpplay "click"lock screen-- skip warning featureif the OptionKey is not downthenanswer "Select the recipe name you wish to edit." with "Ok" or "Cancel"if it is "cancel" then exit mouseUpend if-- select and confirm the name to editrepeatset cursor to plusunlock screenrepeat until the mouse is downend repeatplay "click"lock screenselect the clicklineput the selectedtext into tempif temp is not in bg field "Recipe Names"thenbeepexit MouseUpend ifanswer "Edit Name of:" && temp & "?" with "ok" or "no, try again"if it = "ok" then exit repeatend repeat-- check for duplicate nameset cursor to watchrepeatAsk "Enter new name for" && temp & "." with tempput it into newtempif newtemp = "" then put temp into newtempif newtemp = temp then exit repeatpush this cardput id of this card into TEMPIDgo to card newtempif id of this card <> TEMPIDthenanswer "Sorry, this name has already been taken." with "oops"pop cardelsepop cardexit repeatend ifend repeatput the clickline into TempClickLineset cursor to watch-- Category change informationanswer "Do you also want to change the Category this recipe is filed under?"¬with "Yes" or "No"if it is "Yes"thenhide card button "cover"answer "Select the Category from the Table of Contents." with "ok"put "Yes" into CatChangerepeatset cursor to plusunlock screenrepeat until the mouse is downend repeatplay "click"lock screenselect the clicklineput the selectedtext into CatNameif CatName is not in bg field "Table of Contents"thenbeepelseanswer "Change Category to" && CatName & "?" with "ok"¬or "no, try again"if it = "ok"thenexit repeatend ifend ifend repeatshow card button "cover"set cursor to watchend ifset cursor to watchdelete TempClickLine-- update indexif CatChange = "yes" then go to card CatNameput newtemp & return before line 1 of bg field "Recipe Names"sort lines of bg field "Recipe Names" ascendingClearBlanksset cursor to watch-- change card namepush cardgo to card tempput newtemp into bg field "recipe name"set the name of this card to newtempif CatChange = "yes" then put CatName into bg field "Category"-- sort all the cards of this Categoryunmark all cardsmark cards where bg field "Category" = bg field "Category"sort cards by (bg field "Category" && bg field "Recipe Name")pop cardunlock screenend mouseUp</script>
</part>
<part>
<id>17</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>570</left>
<top>41</top>
<right>606</right>
<bottom>94</bottom>
</rect>
<style>shadow</style>
<showName> <true /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>22538</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>Find</name>
<script>on mouseUpplay "click"domenu "find..."end mouseUpon mouseenterput "Click me to find recipes by searching for a word or phrase." into¬TheMessageFullBalloons showDirect,TheMessageend mouseenter</script>
</part>
<part>
<id>18</id>
<type>button</type>
<visible> <false /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>457</left>
<top>214</top>
<right>485</right>
<bottom>261</bottom>
</rect>
<style>shadow</style>
<showName> <true /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>2700</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>Cut</name>
<script>on mouseUp -- THIS PART JUST SELECTS THE TEXTplay "click"if the OptionKey is not downthenanswer "Select the recipe you want to delete?" with "OK" or "Cancel"if it is "cancel" then exit mouseUpend ifset cursor to plusrepeat until the mouse is downend repeatplay "click"select the clickline-- CHECK TO SEE IF PROPER TEXT IS SELECTEDput the selectedtext into tempif temp is not in bg field "Recipe Names"thenbeepexit MOUSEUPend if-- CHECK TO SEE IF CLICK WAS MADE IN RIGHT PLACEanswer "Delete:" && temp & "?" with "ok" or "cancel"if it = "cancel" then exit mouseupset cursor to watchdelete the clicklineZapIt Tempend Mouseupon FindIt Name -- FOR USE WHEN DELETING FROM ANOTHER CARD-- ASK "NAME"-- Put it into NameREPEAT WITH X = 1 TO NUMBER OF LINES IN BG FIELD "Recipe Names"IF line x of bg field "Recipe Names" = Name Then Exit repeatend REPEATPut line X of bg field "Recipe Names" into tempdelete line X of bg field "Recipe Names"ZapIt Tempend FindIton ZapIt Templock screenpush cardgo to card temprepeatplay "tear"domenu "delete card"exit repeatend repeatpop cardend ZapIt</script>
</part>
<part>
<id>24</id>
<type>field</type>
<visible> <true /> </visible>
<dontWrap> <false /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <true /> </sharedText>
<fixedLineHeight> <false /> </fixedLineHeight>
<autoTab> <false /> </autoTab>
<lockText> <true /> </lockText>
<rect>
<left>628</left>
<top>388</top>
<right>640</right>
<bottom>400</bottom>
</rect>
<style>transparent</style>
<autoSelect> <false /> </autoSelect>
<showLines> <false /> </showLines>
<wideMargins> <false /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>left</textAlign>
<font>Helvetica</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<textHeight>16</textHeight>
<name>FindStuff</name>
<script>on mouseuphide meend mouseup</script>
</part>
<part>
<id>28</id>
<type>field</type>
<visible> <true /> </visible>
<dontWrap> <false /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <false /> </sharedText>
<fixedLineHeight> <false /> </fixedLineHeight>
<autoTab> <false /> </autoTab>
<lockText> <true /> </lockText>
<rect>
<left>516</left>
<top>6</top>
<right>554</right>
<bottom>20</bottom>
</rect>
<style>transparent</style>
<autoSelect> <false /> </autoSelect>
<showLines> <false /> </showLines>
<wideMargins> <false /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>right</textAlign>
<font>Helvetica</font>
<textSize>10</textSize>
<textStyle>bold</textStyle>
<textHeight>13</textHeight>
<name>Count</name>
<script>on updateput the number of lines in bg field "recipe names" into meend updateon mouseupupdateend mouseupon mouseenterFullBalloons showDirect,"Current number of recipes in this category."end mouseenter</script>
</part>
<part>
<id>29</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>558</left>
<top>335</top>
<right>609</right>
<bottom>394</bottom>
</rect>
<style>shadow</style>
<showName> <true /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>22132</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>Register</name>
<script>-- IMPORTANT NOTE:-- Line 3 of this button's contents effects the registration number acceptable. If it is empty-- this button will not work. Using the name of the program is the best thing to use here.on mouseUpplay "click"if the shiftkey is down and the cantpeek of this stack is false thenask "Enter the name:"if it is empty then exit mouseupput it into TheNameanswer getregistrationnumber(TheName)exit mouseupend ifif the optionkey is down then ShowRegistraionInfoelseif the first line of me is empty thenask "Please enter your name EXACTLY as it appears on your registration form."if it is not empty thenput it into theNameput ChangeTheCase(theName) into theNameput getregistrationnumber (theName) into RegistrationNumberask "Please enter your registration number EXACTLY as it appears on your registration form."put it into RegistrationTryif RegistrationTry = RegistrationNumber then Register theName,RegistrationNumberelse DontRegisterend ifelsebeepanswer "This program is already registered to" && first line of me & ". Do you want to" &&¬"UNREGISTER it?" with "Yes" or "No"if it is "Yes" thenUnregisterend ifend ifend ifend mouseUpfunction getregistrationnumber TheNameput the number of characters in line 3 of me into SpecificVariableput (the number of characters in theName) * 67 into LenghtNumberput last char of TheName into TheCharput offset (theChar,"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ") into OffsetNumberput first char of TheName into TheCharadd offset (theChar,"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ") to OffsetNumberput SpecificVariable * LenghtNumber * OffsetNumber into RegistrationNumberreturn RegistrationNumberend getregistrationnumberon DontRegisterbeepanswer "Sorry, the registration number is not correct for the name you entered."end DontRegisteron Unregisterif line 1 of me is empty then ShowAnnoyingMessageelseanswer "Are you sure you want to unregister this program?" with "Yes" or "Cancel"if it is Cancel then exit Unregisterset cursor to watchput empty into line 1 of meput empty into line 2 of melock screenshow meaddColor ColorCard,stamp,1beepanswer "The program is now not registered to anyone."end ifend Unregisteron Register theName,RegistrationNumberset cursor to watchput thename into line 1 of meput RegistrationNumber into line 2 of melock screenhide meaddColor ColorCard,stamp,1beep 2answer "Congratulations! You are now registered. THANK YOU!" & return¬& return & "If you want to unregister the program " &¬"choose 'About this progarm...' from the 'Apple' menu and press the 'Registration' button."¬&& "This will bring up your registraion info and the option to unregister."end Registeron ShowRegistraionInfoif line 1 of me is not empty thenAnswer "This program is registered to:" & return & line 1 of me & return & return &¬"Registration Number:" && line 2 of me with "Unregister" or "OK"if it is Unregister thenUnregisterend ifelse ShowAnnoyingMessageend ShowRegistraionInfoOn ShowAnnoyingMessageif the first line of me is empty thenbeep 2answer "THIS PROGRAM IS NOT REGISTERED." & return & return &¬"If you find you like it, please register it." &&¬"Follow the directions on the registrion form to receive your registration" &&¬"number. When you register, this annoying little reminder message will go away." ¬with "Not Yet" or "RegisterNow"if it = "Not Yet" then beep 4else send mouseup to meelseplay "Crystal2"put "Registered to:" && line 1 of mewait 1 secondput emptyhide message boxend ifend ShowAnnoyingMessageon mouseenterFullBalloons showDirect,"Click me to enter your name and registration number."end mouseenter</script>
<script>on openbackgroundset scroll of bg field "Recipe Names" to 0ThisBgMenusend openbackgroundon ThisBgMenusif there is a menu "Mini Cookbook"thendisable menuitem 1 of menu "Mini Cookbook"disable menuitem 2 of menu "Mini Cookbook"end ifif there is a menuitem "Delete Recipe" of menu Editthen disable menuItem "Delete Recipe" of menu Editif there is a menuItem "Print Recipe" of menu "File"then disable menuItem "Print Recipe" of menu "File"end ThisBgMenuson opencardglobal Categoryput bg field "Index Name" into Categoryif the selectedLine of bg field "Table of Contents" ≠ (number of this card - 1)then Select Line (number of this card - 1) of bg field "Table of Contents"send update to bg field "count"end opencardon ClearBlanks-- fix problem with extra lines showing up at top of recipe namesput 1 into xrepeatif line x of bg field "Recipe Names" = ""thenDelete line x of bg field "Recipe Names"elseput x+1 into xend ifif x-1 = the number of lines in bg field "recipe names"then exit repeatend repeatend ClearBlankson arrowKey directionif direction is "down" then NextCardelse if direction is "up" then prevcardelse pass arrowKeyend arrowkey</script>